package reflect;

import reflect.annotation.AutoRunMethod;

import java.lang.reflect.Method;

public class Test5 {
    public static void main(String[] args)throws Exception {
        Class<?> cls = Class.forName("reflect.Person");
        Method[] methods = cls.getMethods();
        for(Method method:methods){
            if(method.isAnnotationPresent(AutoRunMethod.class)){
                //通过反射获取注解对象
                AutoRunMethod arm =  method.getAnnotation(AutoRunMethod.class);
                //获取注解的属性值
                int value = arm.value();
                System.out.println("执行了"+method.getName()+"()方法"+value+"次");
                for(int i=0;i<value;i++){
                    method.invoke(cls.newInstance());
                }
            }
        }
    }
}
